const app = getApp()
const { URL } = require('../../utils/api.js')
Page({
  data: {
    userInfo:null,
    notload:false, // 是否显示商品内容
    goodsList:[],  // 商品列表
    hideInfo:true, // 显示遮罩,默认不显示
    serviceList:[
      {
        imgUrl:'../../src/img/1.png',
        text:'订单中心',
        url:'/pages/order/index'
      },
      {
        imgUrl: '../../src/img/2.png',
        text: '关于我们',
        url:'/pages/aboutUs/index'
      },     
      {
        imgUrl: '../../src/img/3.png',
        text: '联系客服',
        url: '/pages/contactUs/index'
      }
    ]
  },
  onLoad: function (options) {
    //获取二维码的携带的链接信息
    console.log(app.globalData.qrCodeInfo);
    // 授权处理
    if (app.globalData.userInfo) {
      this.setData({
        userInfo: app.globalData.userInfo,
        notload:true
      })
    } else if (this.data.canIUse) {
      // 由于 getUserInfo 是网络请求，可能会在 Page.onLoad 之后才返回
      // 所以此处加入 callback 以防止这种情况
      app.userInfoReadyCallback = res => {
        this.setData({
          userInfo: res.userInfo,
          notload: true
        })
      }
    } else {
      // 在没有 open-type=getUserInfo 版本的兼容处理
      wx.getUserInfo({
        success: res => {
          app.globalData.userInfo = res.userInfo
          this.setData({
            userInfo: res.userInfo,
            notload: true
          })
        }
      })
    }
  },
  onShow:function(){
    // if (app.globalData.qrCodeInfo === '' || app.globalData.qrCodeInfo === 'undefined') {
    //   wx.navigateTo({
    //     url: '/pages/scan/index',
    //   })
    //   return;
    // }
    this.getShopList();
    wx.setStorageSync('cookie', ''); // 清楚真机cookie问题
  },
  // 获取商品列表
  getShopList(){
    app._post(URL.shopList,{},res=>{
      if(res.data.code === '00'){
        this.setData({
          goodsList: res.data.result.goodsHatchList
        })
      }
  
    })
  },
  // 去支付
  goToPay: function(e) {
    let that = this;
    let data = {
        value: {
          doorNum: e.currentTarget.dataset.doornum,
          goodsCode: e.currentTarget.dataset.goodscode
        }  
    }
    app._post(URL.newOrder,data, res => {
      if (res.data.code === '00') {
        let message = JSON.parse(res.data.result.payInfo.message);
          wx.requestPayment({
            timeStamp: message.timeStamp,
            nonceStr: message.nonceStr,
            package: message.package,
            signType: 'MD5',
            paySign: message.paySign,
            success() {
                app.globalData.orderCode = res.data.result.orderCode;     // 当前订单的订单号
                // 轮询返回的状态
                let timer = setInterval(() => {
                  let result = that.getPayResult(res.data.result.orderCode);
                  if (result) {
                    clearInterval(timer);
                    wx.navigateTo({
                      url: '/pages/blueToothPay/index',
                    })
                  }
                }, 1000)
            }
          })
      }
 
    })
  },
  // 获取支付接口，和数据库校验的结果
  getPayResult(orderCode){
   return new Promise((resolve,reject) =>{
     app._get(URL.orderCheck + orderCode, {}, res => {
       if (res.data.code === '00') {
          let index = res.data.result.terminalCode.indexOf("y");
          app.globalData.terminalCode = res.data.result.terminalCode.substring(index + 1),  // 设备名
          app.globalData.message = res.data.result.message             // 向蓝牙发送的数据
          resolve(true);
       }
       else{
         resolve(false);
       }
     })
   })
  },
  // 显示菜单
  showMenu() {
    this.setData({
      hideInfo: false,
    })
  },
  hideInfoView(e) {
    if(e.target.dataset.target === 'self'){
        this.setData({
          hideInfo: true,
        })     
    }
  },
  // 跳转相应页面
  goToPage(e){
    let url = e.currentTarget.dataset.url;
    wx.navigateTo({
      url,
    })
  }
})
